package com.heima.wemedia.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.heima.common.dtos.ResponseResult;
import com.heima.common.enums.AppHttpCodeEnum;
import com.heima.model.wemedia.dtos.WmNewsDto;
import com.heima.model.wemedia.dtos.WmNewsPageReqDto;
import com.heima.model.wemedia.pojos.WmNews;

import java.util.List;

public interface WmNewsService extends IService<WmNews> {

    /**
     * 查询文章
     */
    ResponseResult<List<WmNews>> findAll(WmNewsPageReqDto dto);

    /**
     * 发布文章或保存草稿
     *
     * @param dto 文章数据
     * @return
     */
    ResponseResult<Object> submitNews(WmNewsDto dto);

    /**
     * 根据id查询文章
     *
     * @param id 文章id
     * @return 操作结果
     */
    ResponseResult<WmNews> queryNewsById(Integer id);

    /**
     * 根据id进行删除频道
     *
     * @param id 文章id
     * @return 操作结果
     */
    ResponseResult<AppHttpCodeEnum> deleteNewsById(Integer id);

    /**
     * 根据传入的数据进行更待文章的上下架
     *
     * @param wmNewsDto 上下架状态以及id
     * @return 操作结果
     */
    ResponseResult<AppHttpCodeEnum> downOrUp(WmNewsDto wmNewsDto);
}
